<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:c="http://java.sun.com/jsp/jstl/core">

    <body>

        <ui:composition template="./plantillas/plantillaGeneral.xhtml">

            <ui:define name="titulo">
                Demo EJB+JPA+JSF :: Perfil de usuario
            </ui:define>

            <ui:define name="encabezado">
                <ui:include src="./plantillas/vistaCabecera.xhtml"/>
            </ui:define>

            <ui:define name="izquierda">
                <ui:include src="./plantillas/vistaIzquierda.xhtml"/>
            </ui:define>

            <ui:define name="contenido">
                <h:form>

                    <c:choose>
                        <c:when test="#{usuarioController.nuevoUsuario}">
                            <h3> <h:outputText value="Alta de nuevo cliente"/> </h3>
                        </c:when>
                        <c:otherwise>
                            <h3>
                                <h:outputText value="Perfil de "/>
                                <h:outputText value="#{usuarioController.clienteActual.nombre}" />
                            </h3>
                        </c:otherwise>

                    </c:choose>

                    <h:panelGroup styleClass="errores">
                        <h:messages layout="table" />
                    </h:panelGroup>

                    <h:panelGroup styleClass="panelDatos">
                        <p> <h:outputText value="Datos de conexión" style="font-weight: bold;"/> </p>

                        <h:panelGrid frame="box" border="1" columns="2">
                            <c:choose>
                                <c:when test="#{usuarioController.nuevoUsuario}">
                                    <h:outputLabel value="Login (*):" for="login" style="font-weight: bold;"/>
                                    <h:inputText id="login" value="#{usuarioController.login}" 
                                                 required="false" requiredMessage="Debe indicar un nombre de usuario"/>
                                </c:when>
                                <c:otherwise>
                                    <h:outputLabel value="Login:" for="login" style="font-weight: bold;"/>
                                    <h:inputText id="login" readonly="true"  value="#{usuarioController.usuarioActual.login}"/>
                                </c:otherwise>
                            </c:choose>

                            <h:outputLabel value="Password (*):" for="password" style="font-weight: bold;"/>
                            <h:inputSecret id="password" value="#{usuarioController.password}"
                                           required="false" requiredMessage="Debe indicar una contraseña"/>

                            <h:outputLabel value="Repetir password (*):" for="password2" style="font-weight: bold;"/>
                            <h:inputSecret id="password2" value="#{usuarioController.password2}"
                                           required="false" requiredMessage="Debe repetir la contraseña"/>

                        </h:panelGrid>
                    </h:panelGroup>



                    <h:panelGroup styleClass="panelDatos">
                        <p> <h:outputText value="Datos del cliente" style="font-weight: bold;"/> </p>

                        <h:panelGrid frame="box" border="1" columns="2">
                            <h:outputLabel value="Nombre (*):" for="nombre" style="font-weight: bold;"/>
                            <h:inputText id="nombre" value="#{usuarioController.clienteActual.nombre}"
                                         required="false" requiredMessage="Debe indicar el nombre del cliente"/>

                            <h:outputLabel value="Apellidos (*):" for="apellidos" style="font-weight: bold;"/>
                            <h:inputText id="apellidos" value="#{usuarioController.clienteActual.apellidos}"
                                         required="false" requiredMessage="Debe indicar los apellidos del cliente"/>

                            <h:outputLabel value="NIF (*):" for="nif" style="font-weight: bold;"/>
                            <h:inputText id="nif" value="#{usuarioController.clienteActual.nif}"
                                         required="false" requiredMessage="Debe indicar el NIF del cliente"/>

                            <h:outputLabel value="Domicilio:" for="domicilio" style="font-weight: bold;"/>
                            <h:inputText id="domicilio" value="#{usuarioController.clienteActual.domicilio}"/>

                            <h:outputLabel value="Código postal:" for="codPostal" style="font-weight: bold;"/>
                            <h:inputText id="codPostal" value="#{usuarioController.clienteActual.codPostal}"/>

                            <h:outputLabel value="Provincia:" for="provincia" style="font-weight: bold;"/>
                            <h:inputText id="provincia" value="#{usuarioController.clienteActual.provincia}"/>

                            <h:outputLabel value="Teléfono:" for="telefono" style="font-weight: bold;"/>
                            <h:inputText id="telefono" value="#{usuarioController.clienteActual.telefono}"/>

                            <h:outputLabel value="Correo electrónico (*):" for="email" style="font-weight: bold;"/>
                            <h:inputText id="email" value="#{usuarioController.clienteActual.email}"
                                         required="false" requiredMessage="Debe indicar el correo electrónico del cliente"/>

                        </h:panelGrid>
                    </h:panelGroup>


                    <h:panelGrid columns="2">

                        <c:choose>
                            <c:when test="#{usuarioController.nuevoUsuario}">
                                <h:commandButton action="#{usuarioController.doCrearUsuario}" value="Crear usuario"/>
                            </c:when>
                            <c:otherwise>
                                <h:commandButton action="#{usuarioController.doActualizarUsuario}" value="Guardar cambios"/>
                            </c:otherwise>
                        </c:choose>


                        <h:commandButton immediate="true" value="Cancelar"  action="#{usuarioController.doCancelarModificacionUsuario}"/>
                    </h:panelGrid>
                </h:form>





            </ui:define>

        </ui:composition>

    </body>
</html>
